// pages/films/player.js
Page({
    play(e){ //点击剧集时进行播放
		let listIndex=e.target.dataset.index //点击剧集的索引号
		if(listIndex==null)return //没有点击到某个剧集上
		let sourceIndex=this.data.sourceIndex //当前源对象的索引号
		let change={} //记录有变化的数据
		change[`sources[${sourceIndex}].listIndex`]=listIndex //记录点击剧集的索引号
		change[`sources[${sourceIndex}].list[${listIndex}].selected`]=true //该剧集处于选中的状态
		this.setData(change) //更新页面数据
	},
    sources(e){
        let sourceIndex=e.target.dataset.index//点击源的索引号
        if(sourceIndex==null)return//没有点击到某个源上
        let oldIndex=this.data.sourceIndex//原来点击源的索引号
        let change={sourceIndex}//记录有变化的数据
        if(oldIndex!=null)change[`sources[${oldIndex}].selected`]=false//取消原来的点击效果
        change[`sources[${sourceIndex}].selected`]=true//设置刚点击源的选择效果
        this.setData(change)//更新页面数据
    },
    async onLoad(options) {
        console.log(options)
        let index=parseInt(options.index)//要播放视频的索引号
        let pages=getCurrentPages()//[main,films/index,films/player]
        let pp=pages[pages.length-2]//获取列表页面对象
        console.log(pp.data)//列表页面的页面数据
        let menuIndex=pp.data.menuIndex //菜单索引号
		let menu=pp.data.menus[menuIndex] //当前菜单
		let type=menu.types[menu.typeIndex] //当前类型
		let video=type.list[index] //要播放的视频
        console.log(video)
        let url=`${pp.host}${video.url}`//视频网址
        let app=getApp()//获取小程序对象
        let html=await app.request({ url })//播放页面的html文本
        console.log(html);
        let r, jj='', regex=/video-info-content">(.+?)<\/div>/s //获取简介的正则表达式
		if(r=regex.exec(html)){
			jj='　　'+r[1].replace(/<\/?(p|div|br)[^>]*>|　+/g, '\n')
			.replace(/<[^>]*>/g,'')
			.replace(/&nbsp;/g, ' ')
			.replace(/\s*\n\s*/g, '\n　　')
        }
        let sources=[]
        regex=/data-dropdown-value="([^"]+)/g
        while(r=regex.exec(html)){
            sources.push({
                name:r[1],
            })
        }

        regex=/class="sort-item">(.+?)<\/div>/gs //获取多个子块(21集)的正则表达式
		let position=-1
		while(r=regex.exec(html)){
			console.log(r[1]);
			let r2, list=[], reg=/title="([^"]+)" href="([^"]+)/g //获取每一集信息的正则表达式
			while(r2=reg.exec(r[1])){ //在子块中匹配每一集的信息
				list.push({
					name: r2[1], //每一集的名称
					url: r2[2], //每一集的超链接
				})
			}
			sources[++position].list=list //设置视频源的每一集的列表信息
		}

		this.setData({title: video.title, jj,sources })
    },
})